package com.pine.admin.modules.system.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;

import javax.mail.internet.MimeMessage;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

/**
 * @Author: Pine
 * @Date: 2018/6/29 下午6:32
 * @Email:771190883@qq.com
 */
@Service("StmpMailService")
public class StmpMailService {

    @Value("${spring.mail.username}")
    private String mailUserNmae;

//
    @Autowired
    private JavaMailSender mailSender;


    public String send(String toMail,String text) {
        //建立邮件消息
        SimpleMailMessage mainMessage = new SimpleMailMessage();

        //发送者
        mainMessage.setFrom(mailUserNmae);
        //接收者
        mainMessage.setTo(toMail);
        //发送的标题
        mainMessage.setSubject("智联招聘-重置密码");
        //发送的内容
        mainMessage.setText(text);

        mailSender.send(mainMessage);
        return genCodes(1,1).get(0);
    }

    public String sendSingon(String toMail,String text,String title) {
        MimeMessage message = null;
        try {
            message = mailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(message, true);
            helper.setFrom(mailUserNmae);
            helper.setTo(toMail);
            helper.setSubject(title);

            StringBuffer sb = new StringBuffer();

            helper.setText(text, true);

            mailSender.send(message);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }


    public  static String singInfo(String raking,String userCode,String pwd){
        String info = "<p>"+
                "</strong></p><p>贵企业：" +
                "</p><p>\t感谢您参与2018中国年度最佳雇主评选活动，您的报名信息已经收到，预祝取得好成绩的同时，" +
                "提醒注意以下事项：</p><p>\t</p><p>一、&nbsp;贵司已报名成功，请您切记登录方式及账号。" +
                "</p><p>贵司如通过<strong style=\"color: red;\">“智联企业用户登录”</strong>，" +
                "登录路径：进入年度雇主官网（best.zhaopin.com）,通过点击“智联企业用户登录”即可；" +
                "</p><p>贵司如通过<strong style=\"color: red;\">“非智联企业用户登录”</strong>，" +
                "请您切记贵司的账号："+userCode+";密码："+pwd+"&nbsp;。登录路径为：进入年度雇主官网（best.zhaopin.com）,通过点击“非智联企业用户登录”即可，输入账号、密码即可；</p><p><br></p><p>二、&nbsp;贵司报名成功，即生成企业专属页，贵司可通过如下方式维护信息。</p><p>1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;贵司登录年度雇主官网，进入企业管理主页，可编辑/修改信息、上传企业照片、CEO寄语等资料、参与企业问答；</p><p>2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;贵司登录年度雇主官网，进入企业管理主页，点击“分享活动”按钮，即可分享企业专属页面，邀请投票/点赞，传播企业雇主品牌；</p><p>3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;贵司登录年度雇主官网，进入企业管理主页，点击“提交评选材料”按钮，即可填写评选问卷；</p><p><br></p><p>三、&nbsp;贵司参评奖项有："+raking+"&nbsp;。</p><p>1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参评全国30强雇主奖项的企业需贵司提交200份以上内部员工调查问卷；</p><p><span style=\"color: red;\">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>参评最受女性关注雇主奖项的企业需贵司提交一份<span style=\"background-color: lime;\">《最受女性关注候选企业调查表》</span>；</p><p>3.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参评最具发展潜力雇主奖项的企业需贵司提交50份内部员工调查问卷；</p><p>4.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参评最具智造精神雇主奖项的企业需贵司提交一份<span style=\"background-color: lime;\">智造</span>企业战略管理问卷、50份<span style=\"background-color: lime;\">智造</span>员工调查问卷；</p><p>5.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;参评最具社会责任雇主奖项的企业需贵司提供一份社会责任申报材料、一份企业社会责任调查问卷；</p><p><span style=\"background-color: lime;\">6.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;雇主品牌最具影响力人物奖项，需参评个人所在企业提交《雇主品牌管理案例》</span></p><p><span style=\"color: red;\">注：问卷填写方式：登录官网best.zhaopin.com-进入企业管理主页-点击“提交评选材料”按钮，按照申报奖项选择相关问卷填写即可；</span></p><p><span style=\"background-color: lime; color: red;\">截止时间：2018年9月21日</span></p><p><br></p><p>四、 如对2018中国年度最佳雇主评选有任何问题请咨询邮箱<a href=\"mailto:nianduguzhu@zhaopin.com.cn\" target=\"_blank\">best@zhaopin.com.cn</a>，该邮箱为本次评选活动的官方邮箱；也可登陆官方网站best.zhaopin.com了解详情。</p><p><br></p><p><br></p><p class=\"ql-align-right\">中国年度最佳雇主组委会</p><p class=\"ql-align-right\"><img src=\" https://ask-image.zhaopin.cn/other_files/1531556345272_1531556437679.jpg\" height=\"31\" width=\"159\"></p><p class=\"ql-align-right\"><br></p>\n";
        return info;
    }

    public static  String pwd (String mail , String pwd){
        String pwdinfos = "<p>贵企业：</p><p>\t感谢您参与2018中国年度最佳雇主评选活动：" +
                "</p><p>\t用户名： " + mail +
                "</p><p>\t重置新密码：" + pwd +
                " </p><p>\t</p><p><br></p><p>\t</p><p><br></p><p><br></p>" +
                "<p class=\"ql-align-right\">2018中国年度最佳雇主组委会" +
                "</p><p class=\"ql-align-right\">" +
                "<br></p><p>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t" +
                "<img src=\"https://ask-image.zhaopin.cn/other_files/1531556345272_1531556437679.jpg\" //:0\" height=\"54\" width=\"136\"></p>";
        return pwdinfos;
    }

    public static List<String> genCodes(int length, long num) {

        List<String> results = new ArrayList<String>();

        for (int j = 0; j < num; j++) {
            String val = "";

            Random random = new Random();
            for (int i = 0; i < length; i++) {
                String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; // 输出字母还是数字  

                if ("char".equalsIgnoreCase(charOrNum)) // 字符串  
                {
                    int choice = random.nextInt(2) % 2 == 0 ? 65 : 97; //取得大写字母还是小写字母  
                    val += (char) (choice + random.nextInt(26));
                } else if ("num".equalsIgnoreCase(charOrNum)) {
                    val += String.valueOf(random.nextInt(10));
                }
            }
            val = val.toLowerCase();
            if (results.contains(val)) {
                continue;
            } else {
                results.add(val);
            }
        }
        return results;

    }


}
